package com.yugong.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.yugong.entity.dto.CourseScore;
import com.yugong.entity.vo.request.CourseScoreRequestVO;
import com.yugong.entity.vo.response.CourseScoreListResponseVO;

/**
 * 课程成绩业务逻辑接口
 *
 * @author yugong
 * @date 2024/2/18
 */
public interface CourseScoreService extends IService<CourseScore> {
    /**
     * 学生查看个人成绩
     *
     * @param studentNo 学号
     * @param pageNum   当前页
     * @param pageSize  当前页数据总数
     * @return 个人成绩
     */
    PageInfo<CourseScoreListResponseVO> findScoreStudent(String studentNo, Integer pageNum, Integer pageSize, String courseName);

    /**
     * 教师查看自己带的课成绩
     *
     * @param teacherNo 教师工号
     * @param pageNum   当前页
     * @param pageSize  当前页个数
     * @param courseNo  课程号
     * @return 自己带的课成绩
     */
    PageInfo<CourseScoreListResponseVO> findScoreTeacher(String teacherNo, Integer pageNum, Integer pageSize, String courseNo);

    /**
     * 企业查看自己的班的成绩
     *
     * @param businessNo  企业号
     * @param pageNum     当前页
     * @param pageSize    当前页总数
     * @param studentName 姓名
     * @return 查看自己的班的成绩
     */
    PageInfo<CourseScoreListResponseVO> findScoreBusiness(String businessNo, Integer pageNum, Integer pageSize, String studentName);

    /**
     * 教师打分
     *
     * @param courseScoreRequestVO 课程成绩请求实体类
     * @return 数据库影响行数
     */
    int gradeTeacher(CourseScoreRequestVO courseScoreRequestVO);
}
